[PATCH] gpa-page-zero.patch
GPFN = 0 is a valid page frame and we shouldn't inject #PG into guest.
Signed-off-by: Arun Sharma <arun.sharma@intel.com>
Index: trunk/xen/arch/x86/vmx.c
===================================================================
static int vmx_do_page_fault(unsigned long va, struct xen_regs *regs)
{
unsigned long eip;
- unsigned long gpa;
+ unsigned long gpte, gpa;
int result;
#if VMX_DEBUG
return 0;
}
- gpa = gva_to_gpa(va);
- if (!gpa)
- return 0;
+ gpte = gva_to_gpte(va);
+ if (!(gpte & _PAGE_PRESENT) )
+ return 0;
+ gpa = (gpte & PAGE_MASK) + (va & ~PAGE_MASK);
if (mmio_space(gpa))
handle_mmio(va, gpa);